#include <iostream>
#include <string>
#include <functional>

void print(const char* str, int num){
    std::cout << str << " " << num << std::endl;
}

// c++11 的bind的基本使用 --> 简化调用，下面的 func 也是可以传递在其它的地方使用的
int main(void){
    print("nihao", 10);

    // std::placeholders::_1 表示的是预留一下，使得下面的 func 可以传递自己想要的数据
    // auto func = std::bind(print, "nihao", std::placeholders::_1);
    // func(10);

    // 也是可以预留多个参数的哦
    auto func = std::bind(print, std::placeholders::_1, std::placeholders::_2);   
    func("nihao", 11);

    return 0;
}

// [trw@VM-4-5-centos example]$ g++ -o bind bind.cpp -std=c++11

